export const todoState = {
  todoText: '',
  todoData: []
};

export function todoMethods() {
  function addTodo() {
    if (!this.todoText.length) return;
    this.todoData.push({
      id: new Date().getTime(),
      content: this.todoText,
      completed: false
    });
    this.todoText = '';
  }

  function toggleTodo(id) {
    this.todoData = this.todoData.map((todo) => {
      if (todo.id === id) {
        todo.completed = !todo.completed;
      }
      return todo;
    });
  }

  function removeTodo(id) {
    this.todoData = this.todoData.filter((todo) => todo.id !== id);
  }

  return { addTodo, toggleTodo, removeTodo };
}
